home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Software Contest 3 / FM Towns Software Contest 3.iso / exp / video_t / no1 / c_sorse / write2.c < prev   
Text File  |  1994-01-07  |  7KB  |  252 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <winb.h>
  5. #include <te.h>
  6. #include <fntb.h>
  7. #include <gui.h>
  8.  
  9. int    Dialog_page = -1 ;
  10. int    TIcon_page[2] = -1 ;
  11. int    _001Message_page = -1 ;
  12. int    _002Message_page = -1 ;
  13. int    TIcon_page2[4] = -1 ;
  14. int    _004Message_page = -1 ;
  15. int    _005Message_page = -1 ;
  16. int    _006Message_page = -1 ;
  17. int    _007Message_page = -1 ;
  18. int    Message_page = -1 ;
  19. int    DButton_pageon = -1 ;
  20. int    _001DButton_pageon = -1 ;
  21. int    _008Message_page = -1 ;
  22. int    _009Message_page = -1 ;
  23. int    _003Message_page = -1 ;
  24. int    Dialog_write = -1 ;
  25. int    Message_write = -1 ;
  26. int    TIcon_write[2] = -1 ;
  27. int    Message_write1 = -1 ;
  28. int    _001Message_write1 = -1 ;
  29. int    _002Message_write1 = -1 ;
  30. int    DButton_write1 = -1 ;
  31. int    DButton_write2 = -1 ;
  32. int    _003Message_write1 = -1 ;
  33. int    _004Message_write1 = -1 ;
  34.  
  35. extern     int    backid ;
  36. extern int    Dia_edit ;
  37. extern int    Dialog_menu ;
  38. extern int    Text ;
  39.  
  40. int        radiopage = 0 ;
  41.  
  42. /*    initDataPAGE:TIcon_page[0]:MJ_TICONL40の呼び出し関数    */
  43. /*    initDataPAGE:TIcon_page[1]:MJ_TICONL40の呼び出し関数    */
  44. int    page1(kobj, messId, argc, pev, trigger)
  45. int        kobj ;
  46. int        messId ;
  47. int        argc ;
  48. EVENT    *pev ;
  49. int        trigger ;
  50. {
  51. /*    現在選択状態にあるボタンを非選択状態にし、選択可にします    */
  52. MTL_resetFlagObj(radiopage,~(MS_UNSELECT | MS_TOGGLE)) ;
  53. MMI_SendMessage(radiopage, MM_SHOW, 0) ;
  54. /*    画面選択フラグを更新します    */
  55. radiopage = kobj ;
  56. /*    呼び出し元トグルボタンを選択状態にし、選択不可にします    */
  57. MTL_setFlagObj(kobj, MS_UNSELECT | MS_TOGGLE) ;
  58. MMI_SendMessage(kobj, MM_SHOW, 0) ;
  59. return NOERR ;
  60. }
  61.  
  62. /*    initDataPAGE:TIcon_page2[0]:MJ_TICONL40の呼び出し関数    */
  63. /*    initDataPAGE:TIcon_page2[1]:MJ_TICONL40の呼び出し関数    */
  64. /*    initDataPAGE:TIcon_page2[2]:MJ_TICONL40の呼び出し関数    */
  65. /*    initDataPAGE:TIcon_page2[3]:MJ_TICONL40の呼び出し関数    */
  66.  
  67. int        radiopage2 = 0 ;
  68.  
  69. int    page2(kobj, messId, argc, pev, trigger)
  70. int        kobj ;
  71. int        messId ;
  72. int        argc ;
  73. EVENT    *pev ;
  74. int        trigger ;
  75. {
  76. /*    現在選択状態にあるボタンを非選択状態にし、選択可にします    */
  77. MTL_resetFlagObj(radiopage2,~(MS_UNSELECT | MS_TOGGLE)) ;
  78. MMI_SendMessage(radiopage2, MM_SHOW, 0) ;
  79. /*    画面選択フラグを更新します    */
  80. radiopage2 = kobj ;
  81. /*    呼び出し元トグルボタンを選択状態にし、選択不可にします    */
  82. MTL_setFlagObj(kobj, MS_UNSELECT | MS_TOGGLE) ;
  83. MMI_SendMessage(kobj, MM_SHOW, 0) ;
  84. return NOERR ;
  85. }
  86.  
  87. /*    initDataPAGE:DButton_pageon:MJ_DBUTTONL40の呼び出し関数    */
  88. int    page_on(kobj, messId, argc, pev, trigger)
  89. int        kobj ;
  90. int        messId ;
  91. int        argc ;
  92. EVENT    *pev ;
  93. int        trigger ;
  94. {
  95. int    i,ii;
  96. char    moji[300];
  97. char    suu[10];
  98. for (i = 0 ; i < 2 ; i++)
  99. {
  100. if (TIcon_page[i] == radiopage)        break ;
  101. }
  102. for (ii = 0 ; ii < 4 ; ii++)
  103. {
  104. if (TIcon_page2[ii] == radiopage2)        break ;
  105. }
  106. if(i!=2 && ii!=4)
  107.     {
  108.     moji[0]='\0';
  109.     strcat(moji,"/PAGE ");
  110.     _itoa(i,suu,10);
  111.     strcat(moji,suu);
  112.     strcat(moji," ");
  113.     _itoa(ii,suu,10);
  114.     strcat(moji,suu);
  115.     MMI_SendMessage(Text,MM_SETTEXT,3,moji,200,TRUE) ;
  116.     MMI_SendMessage(Text,MM_SETTEXT,3,"\n",5,TRUE) ;
  117.  
  118.     MMI_SendMessage(Dialog_page,MM_ERASE,0) ;
  119.     MMI_SendMessage(Dialog_page,MM_DETACH,0) ;
  120.     MMI_SendMessage(Text, MM_ERASE, 0) ;
  121.     MMI_SendMessage(Text, MM_WAKE, 0) ;
  122.     MMI_SendMessage(Text, MM_SHOW, 0) ;
  123.     /*    メニューを選択可とします。    */
  124.     MTL_resetAtrObj(Dialog_menu, ~MS_DSPONLYL40) ;
  125.     MTL_resetAtrObj(Dia_edit, ~MS_DSPONLYL40) ;
  126.     MTL_resetAtrObj(backid, ~MS_DSPONLYL40) ;
  127.  
  128.     }
  129. return NOERR ;
  130. }
  131.  
  132. /*    initDataPAGE:_001DButton_pageon:MJ_DBUTTONL40の呼び出し関数    */
  133. int    page_off(kobj, messId, argc, pev, trigger)
  134. int        kobj ;
  135. int        messId ;
  136. int        argc ;
  137. EVENT    *pev ;
  138. int        trigger ;
  139. {
  140. MMI_SendMessage(Dialog_page,MM_ERASE,0) ;
  141. MMI_SendMessage(Dialog_page,MM_DETACH,0) ;
  142. /*    メニューを選択可とします。    */
  143. MTL_resetAtrObj(Dialog_menu, ~MS_DSPONLYL40) ;
  144. MTL_resetAtrObj(Dia_edit, ~MS_DSPONLYL40) ;
  145. MTL_resetAtrObj(backid, ~MS_DSPONLYL40) ;
  146.  
  147. return NOERR ;
  148. }
  149.  
  150. /*    initDataWRITE:TIcon_write[0]:MJ_TICONL40の呼び出し関数    */
  151. /*    initDataWRITE:TIcon_write[1]:MJ_TICONL40の呼び出し関数    */
  152.  
  153. int    radiowrite=0;
  154.  
  155. int    write_func(kobj, messId, argc, pev, trigger)
  156. int        kobj ;
  157. int        messId ;
  158. int        argc ;
  159. EVENT    *pev ;
  160. int        trigger ;
  161. {
  162. /*    現在選択状態にあるボタンを非選択状態にし、選択可にします    */
  163. MTL_resetFlagObj(radiowrite,~(MS_UNSELECT | MS_TOGGLE)) ;
  164. MMI_SendMessage(radiowrite, MM_SHOW, 0) ;
  165. /*    画面選択フラグを更新します    */
  166. radiowrite = kobj ;
  167. /*    呼び出し元トグルボタンを選択状態にし、選択不可にします    */
  168. MTL_setFlagObj(kobj, MS_UNSELECT | MS_TOGGLE) ;
  169. MMI_SendMessage(kobj, MM_SHOW, 0) ;
  170.  
  171. return NOERR ;
  172. }
  173.  
  174. /*    initDataWRITE:DButton_write1:MJ_DBUTTONL40の呼び出し関数    */
  175. int    write_on(kobj, messId, argc, pev, trigger)
  176. int        kobj ;
  177. int        messId ;
  178. int        argc ;
  179. EVENT    *pev ;
  180. int        trigger ;
  181. {
  182. int    i;
  183. char    moji[300];
  184. char    suu[10];
  185. for (i = 0 ; i < 2 ; i++)
  186. {
  187. if (TIcon_write[i] == radiowrite)        break ;
  188. }
  189. if(i<2)
  190.     {
  191.     moji[0]='\0';
  192.     if(i==0)    strcat(moji,"/WRITE 0");
  193.     else        strcat(moji,"/WRITE 1");
  194.  
  195.     MMI_SendMessage(Text,MM_SETTEXT,3,moji,200,TRUE) ;
  196.     MMI_SendMessage(Text,MM_SETTEXT,3,"\n",5,TRUE) ;
  197.  
  198.     MMI_SendMessage(Dialog_write,MM_ERASE,0) ;
  199.     MMI_SendMessage(Dialog_write,MM_DETACH,0) ;
  200.     MMI_SendMessage(Text, MM_ERASE, 0) ;
  201.     MMI_SendMessage(Text, MM_WAKE, 0) ;
  202.     MMI_SendMessage(Text, MM_SHOW, 0) ;
  203.     /*    メニューを選択可とします。    */
  204.     MTL_resetAtrObj(Dialog_menu, ~MS_DSPONLYL40) ;
  205.     MTL_resetAtrObj(Dia_edit, ~MS_DSPONLYL40) ;
  206.     MTL_resetAtrObj(backid, ~MS_DSPONLYL40) ;
  207.  
  208.     }
  209.  
  210. return NOERR ;
  211. }
  212.  
  213. /*    initDataWRITE:DButton_write2:MJ_DBUTTONL40の呼び出し関数    */
  214. int    write_off(kobj, messId, argc, pev, trigger)
  215. int        kobj ;
  216. int        messId ;
  217. int        argc ;
  218. EVENT    *pev ;
  219. int        trigger ;
  220. {
  221. MMI_SendMessage(Dialog_write,MM_ERASE,0) ;
  222. MMI_SendMessage(Dialog_write,MM_DETACH,0) ;
  223. /*    メニューを選択可とします。    */
  224. MTL_resetAtrObj(Dialog_menu, ~MS_DSPONLYL40) ;
  225. MTL_resetAtrObj(Dia_edit, ~MS_DSPONLYL40) ;
  226. MTL_resetAtrObj(backid, ~MS_DSPONLYL40) ;
  227.     return NOERR ;
  228. }
  229.  
  230. int    l_page()
  231. {
  232. /*    背景を選択不可とします。*/
  233. MTL_setAtrObj(backid, MS_DSPONLYL40) ;
  234. MTL_setAtrObj(Dialog_menu, MS_DSPONLYL40) ;
  235. MTL_setAtrObj(Dia_edit, MS_DSPONLYL40) ;
  236.  
  237. MMI_SendMessage(Dialog_page,MM_ATTACH,1,MMI_GetBaseObj()) ;
  238. MMI_SendMessage(Dialog_page, MM_SHOW, 0) ;
  239. return NOERR ;
  240. }
  241. int    l_write()
  242. {
  243. /*    背景を選択不可とします。*/
  244. MTL_setAtrObj(backid, MS_DSPONLYL40) ;
  245. MTL_setAtrObj(Dialog_menu, MS_DSPONLYL40) ;
  246. MTL_setAtrObj(Dia_edit, MS_DSPONLYL40) ;
  247.  
  248. MMI_SendMessage(Dialog_write,MM_ATTACH,1,MMI_GetBaseObj()) ;
  249. MMI_SendMessage(Dialog_write, MM_SHOW, 0) ;
  250. return NOERR ;
  251. }
  252.